It has become common for a single video, audio, or data device to receive multimedia program content via a variety of different network types. For instance, a television may receive programming from one or more cable systems or satellite systems and also from terrestrial broadcast systems. More recent devices such as set-top boxes (STBs) and multimedia personal computers (PCs) are able to receive programming from cable systems, terrestrial broadcast systems, satellite systems, the Internet, etc.
A device receiving multimedia program content typically includes a receiver driver implemented in software that may work in conjunction with corresponding hardware to “tune” to a particular program (a particular channel, a particular file server, etc.). Various functions are carried out by the receiver driver in order to tune to a particular program depending on the nature of the network type. Examples of such functions include radio frequency (RF) tuning, demultiplexing, decrypting, etc.
Currently, each of the pieces of such receiver drivers that are responsible for carrying out the various functions for tuning to a particular program require significant knowledge of the network type being used to transmit the program content. For example, in the case of a digital satellite transmission, each of the various pieces would need to have significant knowledge of how the program content is embedded in the signal being transmitted from the digital satellite. Furthermore, each of the various pieces are typically required to have significant knowledge of the functions being performed by preceding and subsequent pieces.
A receiver is typically constructed from hardware modules that are manufactured by different companies. Currently, the manufacturer of a receiver must write a driver that controls each of these independently developed modules. This process often involves time consuming coordination with each of the manufacturers of the various hardware modules. Additionally, such drivers cannot readily adapt to changes in transmission content or format. For example, a broadcaster may desire to begin broadcasting five channel audio in addition to the two channel audio that is already being broadcast. Currently such a change would require new drivers for existing hardware, and may even require replacement of existing hardware.
The invention described below addresses these disadvantages, providing modularization of broadcast receiver driver components.